package org.ix.dynamicapis.presentation.condition;

import org.ix.dynamicapis.model.SelectCondition;

import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;
import java.util.Collection;

import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

/**
 * 多主键测试查询条件
 *
 * @author 郗世豪（rarexixi@gmail.com）
 */
@Getter
@Setter
@ToString
public class ApiMultiConfigSelectCondition extends SelectCondition {

    /**
     * ConfigKey
     */
    private String configKey;

    /**
     * ConfigKey列表
     */
    private Collection<String> configKeyIn;

    /**
     * 排除的ConfigKey列表
     */
    private Collection<String> configKeyNotIn;

    /**
     * ConfigKey不为空
     */
    private Boolean configKeyIsNotEmpty;

    /**
     * ConfigKey为空
     */
    private Boolean configKeyIsEmpty;

    /**
     * ConfigKey开始
     */
    private String configKeyStartWith;

    /**
     * ConfigKey结束
     */
    private String configKeyEndWith;

    /**
     * ConfigKey包含
     */
    private String configKeyContains;

    /**
     * ConfigType
     */
    private Integer configType;

    /**
     * ConfigType列表
     */
    private Collection<Integer> configTypeIn;

    /**
     * 排除的ConfigType列表
     */
    private Collection<Integer> configTypeNotIn;

    /**
     * 最小ConfigType
     */
    private Integer configTypeMin;

    /**
     * 最大ConfigType
     */
    private Integer configTypeMax;

    /**
     * ConfigValue
     */
    private Integer configValue;

    /**
     * ConfigValue列表
     */
    private Collection<Integer> configValueIn;

    /**
     * 排除的ConfigValue列表
     */
    private Collection<Integer> configValueNotIn;

    /**
     * 最小ConfigValue
     */
    private Integer configValueMin;

    /**
     * 最大ConfigValue
     */
    private Integer configValueMax;
}
